Thanks Josh.
> I think there were some issues with VACUUM on 7.2.1. Were I you, the
> first thing I would try is an upgrade to 7.2.3, which will also fix
> some serious security issues and at least one backup/restore issue.
> Maybe someone else on the list will speak to your specific issue, or
> you can look at the release notes for 7.2.2 and 7.2.3.
Great. The packager's site is down. (I knew there was a reason for that nagging feeling that I should be building from
sourceinstead of using a package. )
> Second, were you aware that you have the option of running a regular
> VACUUM or VACUUM <table-name> from a database connection without
> locking users out of the database? In high-transaction environments,
> I can run these every 5 -15 minutes. The vacuumdb commmand-line
> utility, I believe, does a VACUUM FULL which exclusively locks the
> database (and you do need to do periodically, just not frequently).
I looked at the docs and didn't see the mention that vacuumdb did a vacuum full. That would certainly explain the
deadlocking.
But it seems that that is not the case.
from the 7.2.1 docs:
-f Perform "full" vacuuming.
-a Vacuum all databases.
..
vacuumdb is a shell script wrapper around the backend command VACUUM via the PostgreSQL interactive terminal psql.
Thereis no effective difference between vacuuming databases via this or other methods.
eric